Radio communication systems generally provide two-way voice and data communication between remote locations. Examples of such systems are cellular and personal communication system (“PCS”) radio systems, trunked radio systems, dispatch radio networks, and global mobile personal communication systems (“GMPCS”) such as satellite-based systems. Communication in these systems is conducted according to a pre-defined standard. Mobile devices or stations, also known as handsets, portables or radiotelephones, conform to the system standard to communicate with one or more fixed base stations. It is important to determine the location of such a device capable of radio communication especially in an emergency situation. In addition, in 2001 the United States Federal Communications Commission (“FCC”) required that cellular handsets must be geographically locatable. This capability is desirable for emergency systems such as Enhanced 911 (“E-911”). The FCC requires stringent accuracy and availability performance objectives and demands that cellular handsets be locatable within 100 meters 67% of the time for network based solutions and within 50 meters 67% of the time for handset based solutions.
Current generations of radio communication generally possess limited mobile device location determination capability. In one technique, the position of the mobile device is determined by monitoring mobile device transmissions at several base stations. From time of arrival or comparable measurements, the mobile device's position may be calculated. However, the precision of this technique may be limited and, at times, may be insufficient to meet FCC requirements. In another technique, a mobile device may be equipped with a receiver suitable for use with a Global Navigation Satellite System (“GNSS”) such as the Global Positioning System (“GPS”). GPS is a radio positioning system providing subscribers with highly accurate position, velocity, and time (“PVT”) information.
FIG. 1 is a schematic representation of a constellation 100 of GPS satellites 101. With reference to FIG. 1, GPS may include a constellation of GPS satellites 101 in non-geosynchronous orbits around the earth. The GPS satellites 101 travel in six orbital planes 102 with four of the GPS satellites 101 in each plane. Of course, a multitude of on-orbit spare satellites may also exist. Each orbital plane has an inclination of 55 degrees relative to the equator. In addition, each orbital plane has an altitude of approximately 20,200 km (10,900 miles). The time required to travel the entire orbit is just under 12 hours. Thus, at any given location on the surface of the earth with clear view of the sky, at least five GPS satellites are generally visible at any given time.
With GPS, signals from the satellites arrive at a GPS receiver and are conventionally utilized to determine the position of the receiver. GPS position determination is made based on the time of arrival (“TOA”) of various satellite signals. Each of the orbiting GPS satellites 101 broadcasts spread spectrum microwave signals encoded with satellite ephemeris information and other information that allows a position to be calculated by the receiver. Presently, two types of GPS measurements corresponding to each correlator channel with a locked GPS satellite signal are available for GPS receivers. The two carrier signals, L1 and L2, possess frequencies of 1.5754 GHz and 1.2276 GHz, or wavelengths of 0.1903 m and 0.2442 m, respectively. The L1 frequency carries the navigation data as well as the standard positioning code, while the L2 frequency carries the P code and is used for precision positioning code for military applications. The signals are modulated using bi-phase shift keying techniques. The signals are broadcast at precisely known times and at precisely known intervals and each signal is encoded with its precise transmission time. There is also an L2C signal being transmitted by several satellites. The L2C signal is a second civilian frequency transmitted by GPS satellites. L1 transmits the Coarse Acquisition (“C/A”) code. L2C transmits L2CM (civil-moderate) and L2CL (civil long) codes. These codes allow a device to differentiate between satellites that are all transmitting on the same frequency. The C/A code is 1 milliseconds long, the L2CM is 20 milliseconds long and the L2CL is 1.5 seconds long. The L2C codes provide a more robust cross-correlation performance so that reception of weak GPS signals is less affected by simultaneously received strong GPS signals. The civil navigation message (“CNAV”) is the broadcast model that can be transmitted on the L2C and provides a more accurate and frequent message than the legacy navigation message (“NAV”).
GPS receivers measure and analyze signals from the satellites, and estimate the corresponding coordinates of the receiver position, as well as the instantaneous receiver clock bias. GPS receivers may also measure the velocity of the receiver. The quality of these estimates depends upon the number and the geometry of satellites in view, measurement error and residual biases. Residual biases generally include satellite ephemeris bias, satellite and receiver clock errors, and ionospheric and tropospheric delays. If receiver clocks were perfectly synchronized with the satellite clocks, only three range measurements would be needed to allow a user to compute a three-dimensional position. This process is known as multilateration. However, given the engineering difficulties and the expense of providing a receiver clock whose time is exactly synchronized, conventional systems generally account for the amount by which the receiver clock time differs from the satellite clock time when computing a receiver's position. This clock bias is determined by computing a measurement from a fourth satellite using a processor in the receiver that correlates the ranges measured from each satellite. This process requires four or more satellites from which four or more measurements can be obtained to estimate four unknowns x, y, z, b. The unknowns are latitude, longitude, altitude and receiver clock offset. The amount b, by which the processor has added or subtracted time, is the instantaneous bias between the receiver clock and the satellite clock. It is possible to calculate a location with only three satellites when additional information is available. For example, if the altitude of the handset or mobile device is well known, then an arbitrary satellite measurement may be included that is centered at the center of the earth and possesses a range defined as the distance from the center of the earth to the known altitude of the handset or mobile device. The altitude of the handset may be known from another sensor or from information from the cell location in the case where the handset is in a cellular network.
Traditionally, satellite coordinates and velocity have been computed inside the GPS receiver. The receiver obtains satellite ephemeris and clock correction data by demodulating the satellite broadcast message stream. The satellite transmission contains more than 400 bits of data transmitted at 50 bits per second. The constants contained in the ephemeris data coincide with Kepler orbit constants requiring many mathematical operations to turn the data into position and velocity data for each satellite. In one implementation, this conversion requires 90 multiplies, 58 adds and 21 transcendental function cells (sin, cos, tan) in order to translate the ephemeris into a satellite position and velocity vector at a single point, for one satellite. Most of the computations require double precision, floating point processing.
Thus, the computational load for performing the traditional calculation is significant. The mobile device must include a high-level processor capable of the necessary calculations, and such processors are relatively expensive and consume large amounts of power. Portable devices for consumer use, e.g., a cellular phone or comparable device, are preferably inexpensive and operate at very low power. These design goals are inconsistent with the high computational load required for GPS processing. Further, the slow data rate from the GPS satellites is a limitation. GPS acquisition at a GPS receiver may take many seconds or several minutes, during which time the receiver circuit and processor of the mobile device must be continuously energized. Preferably, to maintain battery life in portable receivers and transceivers such as mobile cellular handsets, circuits are de-energized as much as possible. The long GPS acquisition time can rapidly deplete the battery of a mobile device. In any situation and particularly in emergency situations, the long GPS acquisition time is inconvenient.
Assisted-GPS (“A-GPS”) has gained significant popularity recently in light of stringent time to first fix (“TTFF”), i.e., first position determination and sensitivity, requirements of the FCC E-911 regulations. In A-GPS, a communications network and associated infrastructure may be utilized to assist the mobile GPS receiver, either as a standalone device or integrated with a mobile station or device. The general concept of A-GPS is to establish a GPS reference network (and/or a wide-area D-GPS network or a wide area reference network (“WARN”)) including receivers with clear views of the sky that may operate continuously. This reference network may also be connected with the cellular infrastructure, may continuously monitor the real-time constellation status, and may provide data for each satellite at a particular epoch time. For example, the reference network may provide ephemeris information, UTC model information, ionosphere model information, and other broadcast information to the cellular infrastructure. As one skilled in the art would recognize, the GPS reference receiver and its server (or position determining entity) may be located at any surveyed location with an open view of the sky. Typical A-GPS information may include data for determining a GPS receiver's approximate position, time synchronization mark, satellite ephemerides, various model information and satellite dopplers. Different A-GPS services may omit some of these parameters; however, another component of the supplied information is the identification of the satellites for which a device or GPS receiver should search. From such assistance data, a mobile device will attempt to search for and acquire satellite signals for the satellites included in the assistance data. It however, satellites are included in the assistance data that are not measurable by the mobile device (e.g., the satellite is no longer visible, etc.), then the mobile device will waste time and considerable power attempting to acquire measurements for the satellite.
A-GPS handset implementations generally rely upon provided assistance data to indicate which satellites are visible or “in view.” As a function of the assistance data, a mobile device will attempt to search for and acquire satellite signals for the satellites included in the assistance data. A-GPS positioning may also rely upon the availability of a coarse location estimate to seed the positioning method. This coarse location estimate or reference location may be utilized to determine a likely set of satellites from which a respective mobile device may receive signals. For example, upon receipt of a location request, satellites in view of the reference location for a wireless device may be determined so that a location determining entity, e.g., location information server (“LIS”) or mobile location center (“MLC”) can provide assistance data for those respective satellites. Once the satellites in view are determined, assistance data for those satellites may be collated (or calculated), encoded into the relevant protocol, and provided to the handset.
There is, however, a need for a method and system for optimizing the process of calculating the satellites in view of the device to achieve a more efficient performance that would overcome the deficiencies of the prior art. Additionally, the performance of the acquisition assistance determination may be increased by optimizing the calculation of satellite velocities. Therefore, an embodiment of the present subject matter provides a method for determining one or more satellites in view of a wireless device. The method may comprise receiving a request for satellite assistance data from a requesting entity and determining a reference location as a function of the request. A set of satellites may be determined as a function of the reference location. Subsequent cached information may be determined for each satellite in the set of satellites if initial cached information for each satellite has been cached for greater than a predetermined time period. One or more satellites in view of the wireless device may then be determined as a function of either the subsequent cached information or initial cached information.
Another embodiment of the present subject matter may provide a method for determining an estimated location of a wireless device. The method may include receiving a request for satellite assistance data from a wireless device and determining a reference location of the wireless device. A set of satellites may be determined as a function of the reference location, and subsequent cached information determined for each satellite in the set of satellites if initial cached information for each satellite in the set of satellites has been cached for greater than a predetermined time period. One or more satellites in view of the wireless device may be determined as a function of either the subsequent cached information or initial cached information. Assistance data may then be transmitted to the wireless device, the assistance data including information from the one or more satellites in view, and an estimated location of the wireless device determined from the included information.
A further embodiment of the present subject matter provides a method for determining one or more satellites in view of a wireless device. The method may include receiving a request for satellite assistance data from a requesting entity, and determining a reference location as a function of the request. A first set of satellites in view may be determined as a function of the reference location if there is information available from a first cached set of satellites, the first cached set of satellites being cached for less than a predetermined time period. A second set of satellites in view may be determined as a function of the reference location if the first cached set of satellites has been cached for greater than the predetermined time period and determining additional cached information for each satellite in the second set of satellites as a function of the reference location. In another embodiment, information of the second set of satellites in view may be cached for the reference location.
An additional embodiment of the present subject matter provides a method for determining an estimated location of a wireless device. The method may comprise receiving a request for satellite assistance data from a wireless device and determining a reference location of the wireless device. A first set of satellites in view may be determined as a function of the reference location if there is information available from a first cached set of satellites, the first cached set of satellites being cached for less than a predetermined time period. A second set of satellites in view may be determined as a function of the reference location if the first cached set of satellites has been cached for greater than the predetermined time period and determining additional cached information for each satellite in the second set of satellites as a function of the reference location. Assistance data may then be transmitted to the wireless device, the assistance data including information from the first or second sets of satellites in view, and an estimated location determined for the wireless device from the included information.
One embodiment of the present subject matter may provide a system for determining one or more satellites in view of a wireless device. The system may comprise circuitry for receiving a request for satellite assistance data from a requesting entity and circuitry for determining a reference location as a function of the request. The system may further include circuitry for determining a set of satellites as a function of the reference location and circuitry for caching initial information for each satellite in the set of satellites. The system may also comprise circuitry for determining and caching subsequent cached information for each satellite in the set of satellites if the cached initial information has been cached for greater than a predetermined time period, as well as circuitry for determining one or more satellites in view of the wireless device as a function of either the subsequent cached information or initial cached information.
These embodiments and many other objects and advantages thereof will be readily apparent to one skilled in the art to which the invention pertains from a perusal of the claims, the appended drawings, and the following detailed description of the embodiments.